home *** CD-ROM | disk | FTP | other *** search
/ Computer Music Interactif…cial Edition 1999 Winter / cd 3.iso / mac / Mac / Shares / Midishare™1.68 / Development Tools / Sources Examples / Other MidiShare Examples / MidiTool / MidiTool.c next >
Encoding:
C/C++ Source or Header  |  1992-05-16  |  1.3 KB  |  54 lines  |  [TEXT/MPS ]

  1. /*====================== A MIDI SHARE TOOL  (© GRAME 92) =====================
  2.  
  3. NAME
  4.       MidiTool -- a very simple MidiShare MPW tool
  5.  
  6. SYNOPSIS
  7.       MidiTool [-dur <ms>]
  8.  
  9. DESCRIPTION
  10.     "MidiTool" start a MidiShare session, wait for the amount of time
  11.     specified (or 2000 ms) spinning the cursor, and then close the 
  12.     MidiShare session
  13.  
  14. ===============================================================================*/
  15.  
  16.  
  17. #include <String.h>
  18. #include <StdLib.h>
  19. #include <Stdio.h>
  20. #include <MidiShare.h>
  21. #include <CursorCtl.h>
  22.  
  23.  
  24.  
  25. //----------------------------- utilities ---------------------------------
  26.  
  27. long lopt (char *argv[], char *name, long defaultVal) 
  28. {
  29.     int    i;
  30.     for (i=0; argv[i]; i++) if (!strcmp(argv[i], name)) return atoi(argv[i+1]);
  31.     return defaultVal;
  32. }
  33.  
  34. void Wait (long d)                             
  35. {    d += MidiGetTime();
  36.     while (MidiGetTime() < d) SpinCursor(1);
  37. }
  38.  
  39.  
  40.  
  41.  
  42. //-------------------------------- main ------------------------------------
  43.  
  44. main( int, char *argv[])
  45. {
  46.     short         ref;                        // MidiShare client reference number
  47.     
  48.     InitCursorCtl(0);                        // init MPW Spinning cursor
  49.     ref = MidiOpen("\pMidiTool");            // open a MidiShare session
  50.     Wait(lopt(argv, "-dur", 2000));            // wait 2000 ms or duration specified in cmd line
  51.     MidiClose (ref);                        // close the MidiShare session
  52. }
  53.  
  54.